package com.winter.collection.List;

import java.util.Enumeration;
import java.util.Vector;

/**
 * @program: Collection
 * @description: Vector集合详细解析
 * @author: Mr.Liang
 * @create: 2018-01-11 10:39
 **/
public class VectorAPI {
    public static void main(String[] args) {
//        新建Vector
        Vector<Object> vector = new Vector<>();
//        添加元素
        vector.add("1");
        vector.add("2");
        vector.add("3");
        vector.add("4");
        vector.add("5");
//       设置第N+1各元素的值
        vector.set(2, "6");
//        将元素插入到第N+1个位置
        vector.add(3, "七");
        System.out.println(vector);

//        顺序查找，获取某个元素的索引
        System.out.println("indexOf:" + vector.indexOf("七"));
//        逆序查找，获取某个元素的索引
        System.out.println("lastIndexOf:" + vector.lastIndexOf("七"));

//        获取第一个元素
        System.out.println("firstElement:" + vector.firstElement());
//        获取第几个元素
        System.out.println("elementAt:" + vector.elementAt(3));
//        获取最后一个元素
        System.out.println("lastElement:" + vector.lastElement());

//        获取Vector的实际大小
        System.out.println("size:" + vector.size());
//        获取Vector的总的容量
        System.out.println("capacity:" + vector.capacity());

//        获取从哪个位置到哪个位置的元素
        System.out.println("1 to 4" + vector.subList(1, 4));
//        通过Enumeration遍历Vector
        Enumeration<Object> elements = vector.elements();
        System.out.println("Enumeration遍历：");
        while (elements.hasMoreElements()) {
            System.out.println(elements.nextElement());
        }
        System.out.println("----------------");

        Vector<Object> vector1 = new Vector<>();
        vector1.add("七");
        vector1.add("1");
//        获取Vector中包含Vector1的元素
        System.out.println(vector.retainAll(vector1));
        System.out.println(vector);

//        获取对应的String数组
        String[] strings = vector.toArray(new String[0]);
        for (String str : strings
                ) {
            System.out.println(str);
        }

//        清空Vector
        vector.clear();
//        判断是否为空
        System.out.println(vector.isEmpty());
    }
}
